package com.gzhryc.shared_device.base;

import com.gzhryc.common.exceptions.LogicException;
import com.gzhryc.shared_device.base.models.OperateInfo;

/**
 * 会员钱包服务
 * @version 2023-02-10
 */
public interface IMemberWalletService {

    public boolean reduceMoney(Long memberId, Long money, OperateInfo operateInfo) throws LogicException;

    public boolean addMoney(Long memberId, Long money, OperateInfo operateInfo) throws LogicException;

    public boolean addFreezeMoney(Long memberId, Long money,OperateInfo operateInfo)throws LogicException;

    public boolean freezeMoney(Long memberId, Long money,OperateInfo operateInfo)throws LogicException;

    public boolean unfreezeMoney(Long memberId, Long money,OperateInfo operateInfo)throws LogicException;

    public boolean unfreezeAndReduceMoney(Long memberId, Long unfreezeMoney, Long money,OperateInfo operateInfo)throws LogicException;

    public boolean reduceFreezeMoney(Long memberId,Long money,OperateInfo operateInfo)throws LogicException;
}
